//
//  CCustomTextField.m

//
//  Created by jshan on 12. 6. 13..
//  Copyright (c) 2012년 __MyCompanyName__. All rights reserved.
//

#import "SHTextField.h"

@implementation SHTextField
@synthesize maxText = m_MaxText;
@synthesize imgBg = m_ImgBg;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
    }
    [self setup];
    return self;
}

 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.
// - (void)drawRect:(CGRect)rect
// {
 // Drawing code
// }

- (void) dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

/**
 텍스트필드 여백값을 줄 때 사용
 */
- (CGRect) textRectForBounds:(CGRect)bounds {
    
    return CGRectInset(bounds, 10, 0);
}

- (CGRect) editingRectForBounds:(CGRect)bounds {
    
    return CGRectInset(bounds, 10, 0);
}


/**
 최대 입력 가능 글자수 (한글사용할 때 유용)
 글자수가 제한되어 있을 때 마지막 한글을 입력할 시 자음이 입력안되는 경우가 발생함
 예) 글자수가 2자로 제한되어 있을 시 "이름"을 입력할 때 "이르"까지 입력이 됨.이 경우를 막기 위한 함수
 */
- (void)textFieldLimited:(NSNotification *)note 
{
    if(self.maxText > 0)
    {
        SHTextField *textField = (SHTextField *)[note object];
        if([textField.text length] > self.maxText) 
        {
            textField.text = [textField.text substringToIndex:self.maxText];
        }
    }
}

/**
 텍스트필드 백그라운드 이미지 setter
 */
- (void) setImgBg:(UIImage *)imgBg {
    m_ImgBg = imgBg;
    self.background = [self.imgBg stretchableImageWithLeftCapWidth:6 topCapHeight:6];
}

/**
 텍스트필드 백그라운드 이미지 getter
 */

- (UIImage *) imgBg {
    return m_ImgBg;
}


/**
 입력 글자수 초기화, 노티피케이션 등록
 */
- (void)setup 
{
    self.maxText = 0;
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldLimited:) name:@"UITextFieldTextDidChangeNotification" object:self];
}

- (void) awakeFromNib {
    
    [self setup];
}


@end
